package com.isesol.seckill.service;

import com.isesol.seckill.result.*;

/**
 * 秒杀数据服务
 *
 * @author Peter Zhang
 */
public interface CountService {

    /**
     * reset实例数
     */
    void resetInstanceCount();

    /**
     * 注册实例
     */
    void regInstanceCount();

    /**
     * 获取实例数
     */
    long getInstanceCount();

    /**
     * 设置实例数
     * @param val
     */
    void setInstanceCount(long val);

    /**
     * 设置库存
     * @param key
     * @param val
     */
    void setStockInfo(String key, long val);

    /**
     * 设置发生情况
     *
     * @param key
     * @param val
     */
    void setSalesInfo(String key, long val);

    /**
     * 获取库存情况
     * @param key
     */
    long getStockInfo(String key);

    /**
     * 获取发生情况
     * @param key
     */
    long getSalesInfo(String key);

    /**
     * 发生情况加
     * @param key
     * @return
     */
    long incSalesInfo(String key) ;

    /**
     * 验证码id加
     * @param key
     * @return
     */
    Result<CaptchaResult> incCaptchaIdCount(String key) ;

}
